Direct Sequence Spread Spectrum (DSSS) signals are formed from pseudo-random noise (PN) codes. A PN code is a binary sequence of chips (or bits). The PN code has a higher bit rate than the symbols represented by the PN codes. In some systems, each PN code is used to represent a unique data symbol. In other systems, a single PN code can be used to represent multiple symbols by changing the polarity of the transmitted PN code. DSSS receivers perform a correlation process between a received signal and the PN codes specific to that particular communication system. The magnitude of the correlation result indicates the extent to which the received signal and the symbol PN codes are matched in phase. The correlation process may involve comparing the received signal with the PN code at various different relative phases to produce multiple correlator output samples. The location of a distinct peak in the correlator output samples may be used to determine an arrival time of the received signal.
Some communication systems are designed specifically to facilitate the accurate resolution of arrival time. For example, the Global Positioning Satellite (GPS) system uses a 1023-chip long PN code to enable accurate resolution of the arrival time to take place in the receiver at a minimum specified signal-to-noise ratio (SNR) of operation. Using shorter PN codes may cause noise to have a more significant effect on a received signal. For example, a chip in a PN code will constitute a greater proportion of the complete PN code if the PN code is shorter, and therefore noise affecting a chip will have a more significant effect when a shorter PN code is used.
DSSS receivers may perform a synchronisation process at the start of reception of a signal to establish the coarse timing of the received data symbols. The coarse timing is determined by identifying the instances at which distinct correlation peaks occur in the correlator output samples. The synchronisation process may also include a search for a predefined sequence of symbols (or PN codes) that is prefixed to the main body of the signal. The predefined sequence is commonly known as a preamble. A preamble search is performed to reduce the possibility of the receiver falsely detecting the start of a valid message.
Examples of DSSS communication systems include the IEEE 802.15.4 standard, and also other standards based on 802.15.4 such as ZigBee. Published standards and technical documents describing these and other DSSS communication systems are incorporated herein by reference for all purposes. An example of a published standard is the 802.15.4-2006 standard, or the 802.15.4a-2007 standard, available from http://www.ieee802.org/15/pub/TG4.html. Examples of technical documents describing the ZigBee communication system are available from http://www.zigbee.org/en/spec_download/zigbee_downloads.asp.
It is an object of embodiments of the invention to at least mitigate one or more of the problems of the prior art.